package com.dys.testlist02;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

/**
 * @className: com.dys.testlist02.ListTest
 * @description: com.dys.testlist02
 * @author: pine cone
 * @version: v1.0.0
 * @createTime: 2024/07/31 下午10:29
 */
public class ListTest {

    /**
     * 这是一个main()方法,是应用程序的入口
     *
     * @param args 方法的形参列表,是一个字符串数组,包含了从命令行传递给程序的参数
     */
    public static void main(String[] args) {
        new ListTest().testListMethod();
    }

    /**
     * 常用方法：
     * 增：addAll(int index, Collection<? extends E> c)、
     * 删：remove(Object o)、remove(int index)
     * 改：set(int index, E element)
     * 查：iterator()、get(int index)
     * 判断：isEmpty()、contains(Object o)
     * 遍历：普通for、增强for、iterator()
     */
    public void testListMethod() {
        List list = new ArrayList();
        list.add(11);
        list.add(22);
        list.add(33);
        list.add(44);
        list.add(2);
        list.add(9.9);
        list.add(true);
        list.add("abc");
        list.add("集合");

        // 添加
        list.add(0, 999);
        System.out.println(list);

        // 删除: Integer类型删除的是索引
        // list.remove(1);
        list.remove(Integer.valueOf(11));
        // list.remove(9.9);
        System.out.println(list);

        // 修改
        list.set(0, 888);
        System.out.println(list);

        // 判断
        System.out.println("集合是否为空：" + list.isEmpty());
        System.out.println("集合是否包含某个元素：" + list.contains(9.9));

        // 查看
        System.out.println(list.get(0));

        // 遍历
        System.out.println("==================");
        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));
        }
        System.out.println("=========增强for循环");
        for (Object object : list) {
            System.out.println(object);
        }
        System.out.println("==========迭代器");
        Iterator it = list.iterator();
        while (it.hasNext()) {
            System.out.println(it.next());
        }

    }
}
